package com.hiultra.archive.mapper;

import java.util.List;
import com.hiultra.archive.domain.ArcAppraisal;
import com.hiultra.archive.domain.ArcAppraialDetails;

/**
 * 鉴定单Mapper接口
 * 
 * @author ls
 * @date 2023-08-31
 */
public interface ArcAppraisalMapper 
{
    /**
     * 查询鉴定单
     * 
     * @param appraisalId 鉴定单主键
     * @return 鉴定单
     */
    public ArcAppraisal selectArcAppraisalByAppraisalId(Long appraisalId);

    /**
     * 查询鉴定单列表
     * 
     * @param arcAppraisal 鉴定单
     * @return 鉴定单集合
     */
    public List<ArcAppraisal> selectArcAppraisalList(ArcAppraisal arcAppraisal);

    /**
     * 新增鉴定单
     * 
     * @param arcAppraisal 鉴定单
     * @return 结果
     */
    public int insertArcAppraisal(ArcAppraisal arcAppraisal);

    /**
     * 修改鉴定单
     * 
     * @param arcAppraisal 鉴定单
     * @return 结果
     */
    public int updateArcAppraisal(ArcAppraisal arcAppraisal);

    /**
     * 删除鉴定单
     * 
     * @param appraisalId 鉴定单主键
     * @return 结果
     */
    public int deleteArcAppraisalByAppraisalId(Long appraisalId);

    /**
     * 批量删除鉴定单
     * 
     * @param appraisalIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArcAppraisalByAppraisalIds(Long[] appraisalIds);

    /**
     * 批量删除鉴定详情
     * 
     * @param appraisalIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArcAppraialDetailsByAppraisalIds(Long[] appraisalIds);
    
    /**
     * 批量新增鉴定详情
     * 
     * @param arcAppraialDetailsList 鉴定详情列表
     * @return 结果
     */
    public int batchArcAppraialDetails(List<ArcAppraialDetails> arcAppraialDetailsList);
    

    /**
     * 通过鉴定单主键删除鉴定详情信息
     * 
     * @param appraisalId 鉴定单ID
     * @return 结果
     */
    public int deleteArcAppraialDetailsByAppraisalId(Long appraisalId);
}
